package com.boot.admin.modules.sys.ai.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.boot.admin.data.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * AI角色表
 *
 * @author 李飞洋
 * @date 2025/9/24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString
@TableName("ai_role")
public class AiRole extends BaseEntity {
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 角色描述
     */
    private String roleDesc;
    /**
     * 系统提示词
     */
    private String systemPrompt;
    /**
     * 语音ID
     */
    private String voiceId;
    /**
     * 头像URL
     */
    private String avatarUrl;
    /**
     * 语音语言代码，如 en-US, zh-CN
     */
    private String languageCode;
    /**
     * 口音信息，如 British, American, Greek
     */
    private String accent;
    /**
     * 语音风格，如 narration, chat, dramatic
     */
    private String style;
    /**
     * 情绪，如 calm, excited, serious
     */
    private String emotion;
    /**
     * 音调调整，默认0，正数升高，负数降低
     */
    private Double pitch;
    /**
     * 语速调整，1.0为正常，>1更快，<1更慢
     */
    private Double speakingRate;
    /**
     * 声音稳定性(如ElevenLabs特有参数)
     */
    private Double stability;
    /**
     * 音色相似度(如ElevenLabs特有参数)
     */
    private Double similarityBoost;
    /**
     * 排序序号
     */
    private Integer sortOrder;
    /**
     * 是否启用
     */
    private Integer isEnabled;

    public boolean isEnabled() {
        return isEnabled == 1;
    }
}